home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 1, No. 07 (1982-03)(Softdisk)(Side B).zip / Softdisk Magazette Volume 1, No. 07 (1982-03)(Softdisk)(Side B).do / HOME.COMPUTER.INVENTORY.bas < prev    next >
BASIC Source File  |  1996-12-24  |  19KB  |  350 lines

  1. 0 P = 3072: POKE 6, INT(P/256): POKE 7,203 +(P >9999)
  2. 1 X$ = "300:A5 06 A8 38 E9 09 B0 03 4C 00 00 85 08 18 65 B0 C5 74 B0 F4 A6 B0 8E 39 03 8D 3C 03 A6 07 86 67 A6 AF 86 6B 86 6D 84 68 85 B0 85 6A 85 6C 85 6E 38 E5 06 AA E8 A0 00 B9 00 00 99 00 00 C8 D0 F7 N D823G"
  3. 2 L =  LEN(X$): FOR I = 1 TO L: POKE 511 +I, ASC( MID$ (X$,I,1)) +128: NEXT : POKE 72,0: CALL  -144
  4. 3 X$ = "340:CE 39 03 CE 3C 03 CA D0 EE A5 68 85 1A A4 67 84 19 A0 01 B1 19 F0 10 18 65 08 91 19 AA 88 B1 19 85 19 86 1A C8 D0 EC 4C 66 D5 N 300G": GOTO 2
  5. 10  REM HOME COMPUTER INVENTORY
  6. 20  GOSUB 1320: GOSUB 3030: HOME : INVERSE : LIST 63999 -: NORMAL 
  7. 30  FOR X = 1 TO 22  STEP 21: VTAB X: HTAB 5: PRINT "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%": NEXT : VTAB 2
  8. 40  FOR X = 0 TO 20: PRINT "    %%%%%%%";: HTAB 33: PRINT "%%%%%%%": NEXT 
  9. 50  POKE  -16299,0: GOTO 1970
  10. 60  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>CENTERING SUBROUTINE
  11. 70  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------- ----------<CTRL-J><CTRL-J>
  12. 80  HTAB 21 - LEN(A$)/2
  13. 90  PRINT A$: RETURN 
  14. 92  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>INPUT NEW ITEM
  15. 93  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>----- --- ----<CTRL-J><CTRL-J> 
  16. 120  HOME : PRINT "--------HOME COMPUTER INVENTORY---------
  17. 130  VTAB 3: HTAB 7: PRINT "ENTER DATA AND PRESS ";: INVERSE : PRINT "RETURN": NORMAL : PRINT "   DO NOT EXCEED THE SPECIFIED LENGTH   ";
  18. 140  PRINT DASH$
  19. 150  VTAB 22: PRINT DASH$;" PRESSING ";: INVERSE : PRINT "RETURN";: NORMAL : PRINT " WITH NO RESPONSE INDI-": PRINT "CATES THAT INFORMATION IS NOT AVAILABLE";
  20. 160  POKE 2039,174: REM PERIOD
  21. 170  FOR X = 5 TO 22  STEP 17: VTAB X: HTAB 1: PRINT "+";: HTAB 40: PRINT "+": NEXT 
  22. 180  FOR X = 6 TO 21: VTAB X: HTAB 1: PRINT "!";: HTAB 40: PRINT "!": NEXT 
  23. 190  FOR X = 0 TO 6:I$(X) = "": NEXT 
  24. 200  VTAB 6
  25. 210  POKE 34,5: POKE 35,21: POKE 33,38: POKE 32,1: REM SET   TEXT WINDOW
  26. 220  PRINT : VTAB 6: PRINT "DESCR:" LEFT$(UN$,31);: HTAB 7: PRINT I$(0)
  27. 230  PRINT "SERIAL/MODEL NUMBER:" LEFT$(UN$,14);: HTAB 21: PRINT I$(1)
  28. 240  PRINT "PURCHASE PRICE:$" LEFT$(UN$,8);: HTAB 17: PRINT I$(2)
  29. 250  PRINT "PURCHASED AT:" LEFT$(UN$,24);: HTAB 14: PRINT I$(3)
  30. 260  PRINT "DATE OF PURCHASE:" LEFT$(UN$,8);: HTAB 18: PRINT I$(4)
  31. 270  PRINT "ID:" LEFT$(UN$,34);: HTAB 4: PRINT I$(5)
  32. 280  PRINT 
  33. 290  FOR X = 0 TO 4: PRINT "   <"X +1">" LEFT$(DOT$,27);: HTAB 36 - LEN(C$(X)): PRINT C$(X): NEXT 
  34. 300  PRINT : HTAB 4: PRINT "CATEGORY <1-5>:"U$
  35. 310  PRINT : PRINT "THE ABOVE INFO. IS CORRECT <Y/N>:"U$;
  36. 320  POKE  -16300,0
  37. 330  VTAB 6: HTAB 7: INPUT "";I$(0)
  38. 340  HTAB 21: INPUT "";I$(1)
  39. 350  HTAB 17: INPUT "";I$(2)
  40. 360  HTAB 14: INPUT "";I$(3)
  41. 370  HTAB 18: INPUT "";I$(4)
  42. 380  HTAB 4: INPUT "";I$(5)
  43. 390  VTAB 19: HTAB 19: INPUT "";I$(6)
  44. 400  POKE 35,22: VTAB 21: HTAB 34: INPUT "";I$(7): VTAB 21: POKE 35,21
  45. 410  IF  LEFT$(I$(7),1) < >"Y"  AND  LEFT$(I$(7),1) < >"N"  THEN 400
  46. 420 I$(0) =  LEFT$(I$(0),31):I$(1) =  LEFT$(I$(1),14):I$(2) =  LEFT$(I$(2),8):I$(3) =  LEFT$(I$(3),24):I$(4) =  LEFT$(I$(4),8):I$(5) =  LEFT$(I$(5),34):I$(6) =  LEFT$(I$(6),1)
  47. 430  IF I$(1) = ""  THEN I$(1) =  LEFT$(DASH$,14)
  48. 440  IF I$(2) = ""  THEN I$(2) =  LEFT$(DASH$,8)
  49. 450  IF I$(3) = ""  THEN I$(3) =  LEFT$(DASH$,24)
  50. 460  IF I$(4) = ""  THEN I$(4) =  LEFT$(DASH$,8)
  51. 470  IF I$(5) = ""  THEN I$(5) =  LEFT$(DASH$,34)
  52. 480  IF  LEFT$(I$(7),1) = "N"  THEN  VTAB 6: GOTO 220
  53. 490  TEXT : FOR X = 1 TO 40: POKE 33,X: HOME : NEXT 
  54. 500  FLASH : VTAB 12: HTAB 16: PRINT "[WRITING]
  55. 510  CALL BP: NORMAL : PRINT 
  56. 520  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>ADD ITEM TO FILE
  57. 530  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--- ---- -- ----<CTRL-J><CTRL-J>
  58. 540  PRINT D$"OPEN"FI$",L130
  59. 550  PRINT D$"READ"FI$",R0
  60. 560  INPUT REC:REC = REC +1
  61. 570  PRINT D$"WRITE"FI$",R0
  62. 580  PRINT REC
  63. 590  PRINT D$"WRITE"FI$",R"REC
  64. 600  FOR X = 0 TO 6: PRINT I$(X): NEXT 
  65. 610  PRINT D$"CLOSE
  66. 620  RETURN 
  67. 630  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>READ FROM FILE
  68. 640  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>---- ---- ----<CTRL-J><CTRL-J>
  69. 650  HOME :A$ = "....HOME COMPUTER INVENTORY....": GOSUB 60
  70. 660  VTAB 10: PRINT "OPTIONS": PRINT "-------": PRINT : PRINT "<1> VIEW A SPECIFIC ITEM": PRINT "<2> LIST ENTIRE FILE TO PRINTER": PRINT "<3> RETURN TO MAIN MENU
  71. 670  PRINT : PRINT "ENTER YOUR CHOICE <1-3>:"U$;: POKE  -16300,0: HTAB 25: INPUT "";X$:X =  VAL(X$): IF X <1  OR X >3  THEN 670
  72. 680  ON X GOTO 700,1060,690
  73. 690  GOSUB 3030: RETURN 
  74. 700  VTAB 3
  75. 710  INVERSE : PRINT "SELECT";: HTAB 29: PRINT "DESCRIPTION": NORMAL : PRINT  LEFT$(DASH$,39)
  76. 720  POKE 34,4
  77. 730  PRINT D$"OPEN"FI$",L130
  78. 740  PRINT D$"READ"FI$",R0
  79. 750  INPUT REC: IF   NOT REC  THEN  PRINT D$"CLOSE": POKE 34,0: GOSUB 3030: RETURN 
  80. 760  FOR X = 1 TO REC
  81. 770  PRINT D$"READ"FI$",R"X
  82. 780  INPUT REC$(X): NEXT 
  83. 790  PRINT D$"CLOSE
  84. 800  FOR X = 1 TO REC
  85. 810  PRINT  LEFT$(DOT$,39);: HTAB 1: PRINT X;: HTAB 40 - LEN(REC$(X)): PRINT REC$(X)
  86. 820  IF  PEEK(37) <21  THEN  NEXT 
  87. 830  PRINT  LEFT$(DASH$,39)
  88. 840  PRINT "ENTER NUMBER OR ";: FLASH : PRINT "RETURN";: NORMAL 
  89. 850  IF X > = REC  THEN  PRINT " TO EXIT";
  90. 860  IF X <REC  THEN  PRINT " FOR MORE";
  91. 870  CALL  -958
  92. 880  HTAB 35: INPUT "";CH$:CH =  VAL(CH$): IF CH$ = ""  AND X > = REC  THEN  POKE 34,0: GOSUB 3030: RETURN 
  93. 890  IF CH$ = ""  THEN  VTAB 5: GOTO 820
  94. 900 REC = CH
  95. 910  TEXT : FOR X = 1 TO 40: POKE 33,X: HOME : NEXT : FLASH : VTAB 12: HTAB 16: PRINT "[READING]": CALL BP: NORMAL : PRINT 
  96. 920  PRINT D$"OPEN"FI$",L130
  97. 930  PRINT D$"READ"FI$",R"REC
  98. 940  FOR X = 0 TO 6: INPUT I$(X): NEXT 
  99. 950  PRINT D$"CLOSE": HOME : VTAB 3: PRINT DASH$: VTAB 17: PRINT DASH$
  100. 960  VTAB 5: PRINT I$(0)":
  101. 970  PRINT "("C$( VAL(I$(6)) -1)")
  102. 980  PRINT : PRINT "SERIAL/MODEL NUMBER "I$(1)
  103. 990  PRINT : PRINT "PURCHASE PRICE: $"I$(2)
  104. 1000  PRINT "FROM "I$(3)
  105. 1010  PRINT "DATE: "I$(4): PRINT 
  106. 1020  PRINT "IDENTIFICATION/SPECIFICATIONS:": HTAB 3: PRINT I$(5)
  107. 1030  VTAB 23: HTAB 6: PRINT "....PRESS ";: FLASH : PRINT "RETURN";: NORMAL : PRINT " FOR MENU....
  108. 1040  POKE CB,0: WAIT KB,128: IF  PEEK(KB) < >RTN  THEN 1040
  109. 1050  POKE CB,0: GOSUB 3030: RETURN 
  110. 1060  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>LIST ALL ITEMS TO PRINTER
  111. 1070  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>---- --- ----- -- -------<CTRL-J><CTRL-J>
  112. 1080  PRINT : PRINT "ENTER TODAY'S DATE (MM/DD/YY):" LEFT$(UN$,8);: HTAB 31: INPUT "";DT$
  113. 1090  PRINT : PRINT "YOUR NAME:" LEFT$(UN$,28);: HTAB 11: INPUT "";NM$
  114. 1100  PRINT : PRINT "POSITION PRINTER PAPER AND PRESS ";: FLASH : PRINT "RETURN": NORMAL 
  115. 1110  POKE CB,0: WAIT KB,128: IF  PEEK(KB) < >RTN  THEN 1110
  116. 1120  POKE CB,0: PRINT D$"PR#"SLOT: PRINT NM$"     INVENTORY AS OF "DT$: PRINT DASH$: PRINT D$"PR#0
  117. 1130  TEXT : HOME : VTAB 12: HTAB 16: FLASH : PRINT "[READING]
  118. 1140  NORMAL 
  119. 1150  PRINT D$"OPEN"FI$",L130
  120. 1160  PRINT D$"READ"FI$",R0
  121. 1170  INPUT REC: PRINT D$"CLOSE
  122. 1180 X = 1: IF   NOT REC  THEN 1310
  123. 1190  PRINT D$"OPEN"FI$",L130": PRINT D$"READ"FI$",R"X
  124. 1200  FOR Z = 0 TO 6: INPUT I$(Z): NEXT 
  125. 1210  PRINT D$"CLOSE
  126. 1220  PRINT D$"PR#"SLOT: PRINT 
  127. 1230  PRINT I$(0)" ("C$( VAL(I$(6)) -1)")
  128. 1240  PRINT "SERIAL/MODEL NUMBER "I$(1)
  129. 1250  PRINT "PURCHASE PRICE: $"I$(2)" FROM "I$(3)
  130. 1260  PRINT "DATE: "I$(4)
  131. 1270  PRINT "ID/SPECS: "I$(5)
  132. 1280  PRINT D$"PR#0
  133. 1290  PRINT :X = X +1: IF X < >REC  THEN 1190
  134. 1300  PRINT D$"PR#"SLOT: PRINT DASH$: PRINT : PRINT : PRINT : PRINT D$"PR#0
  135. 1310  GOSUB 3030: RETURN 
  136. 1320  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>INITIALIZATION
  137. 1330  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>--------------<CTRL-J><CTRL-J> 
  138. 1340  NOTRACE : SPEED= 255
  139. 1350 D$ =  CHR$(4): REM CTRL-D
  140. 1360  VTAB 23: PRINT D$"NOMONCIO
  141. 1370 U$ =  CHR$(95): REM SCORE
  142. 1380 CB =  -16368: REM CLR KBD
  143. 1390 KB =  -16384: REM READ KBD
  144. 1400 SLOT = 1: REM PRINTER SLOT#
  145. 1410 RTN = 141:ESC = 155
  146. 1420 BP =  -198: REM ANNOYING
  147. 1430  DATA HARDWARE,SOFTWARE,ACCESSORY,LITERATURE,MISCELLANEOUS
  148. 1440  FOR X = 0 TO 4: READ C$(X)
  149. 1450  NEXT : REM READ CATEGORIES
  150. 1460  FOR X = 0 TO 39
  151. 1470 DASH$ = DASH$ +"-":DOT$ = DOT$ +". ":UN$ = UN$ +U$
  152. 1480  NEXT 
  153. 1490  REM DOTS, DASHES AND UNDER-LINES DRESS THINGS UP A BIT
  154. 1500  DIM REC$(100)
  155. 1510 FI$ = "HCI.DATAFILE"
  156. 1520  POKE 768,216: POKE 769,160: POKE 770,0: POKE 771,76: POKE 772,44: POKE 773,254
  157. 1530 BEG = 1024:EN = 2047:DEST = 2048: REM LOCS FOR MEMMOVE
  158. 1540  RETURN 
  159. 1550  VTAB 24: HTAB 5: PRINT ":::::: PRESS ";: FLASH : PRINT "RETURN";: NORMAL : PRINT " TO BEGIN ::::::";
  160. 1560  GOSUB 3030
  161. 1570  POKE CB,0: WAIT KB,128: IF  PEEK(KB) < >RTN  THEN 1570
  162. 1580  POKE CB,0
  163. 1590  HOME : ONERR  GOTO 2500
  164. 1600  VTAB 6: INVERSE : FOR X = 0 TO 15: HTAB 6: PRINT  SPC( 30): PRINT : NEXT 
  165. 1610  NORMAL : VTAB 3
  166. 1620  PRINT "---------HOME COMPUTER INVENTORY--------": VTAB 23: PRINT DASH$;
  167. 1630  FOR X = 5 TO 21  STEP 16: VTAB X: HTAB 5: PRINT "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%": NEXT 
  168. 1640  FOR X = 5 TO 21: VTAB X: PRINT "%%%%%";: HTAB 36: PRINT "%%%%%": NEXT 
  169. 1650  VTAB 7
  170. 1660  INVERSE :A$ = "MENU OF OPTIONS": GOSUB 60:A$ = "---------------": GOSUB 60
  171. 1670  POKE 33,30: POKE 32,6
  172. 1680  PRINT 
  173. 1690  PRINT "<1> ADD TO THE FILE
  174. 1700  PRINT "<2> READ FROM THE FILE
  175. 1710  PRINT "<3> CHANGE PRINTER SLOT #
  176. 1720  PRINT "    (CURRENTLY = "SLOT")
  177. 1730  PRINT "<4> OPERATING INSTRUCTIONS
  178. 1740  PRINT "<5> EXIT THIS PROGRAM
  179. 1750  PRINT : PRINT 
  180. 1760  PRINT "ENTER YOUR CHOICE:";: FLASH : PRINT U$;: INVERSE : PRINT " "
  181. 1770  POKE  -16300,0
  182. 1780  POKE CB,0: WAIT KB,128: IF  PEEK(KB) <177  OR  PEEK(KB) >181  THEN  CALL BP: GOTO 1780
  183. 1790 X =  PEEK(KB) -176: VTAB 18: HTAB 19: PRINT X;: FLASH : PRINT U$
  184. 1800  POKE CB,0: WAIT KB,128: IF  PEEK(KB) < >RTN  AND  PEEK(KB) < >136  THEN  CALL BP: GOTO 1800
  185. 1810  IF  PEEK(KB) = 136  THEN  INVERSE : VTAB 18: GOTO 1760
  186. 1820  POKE CB,0: VTAB 18: HTAB 20: INVERSE : PRINT " ": GOSUB 3030: POKE  -16299,0
  187. 1830  NORMAL : POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,24
  188. 1840  ON X GOSUB 92,630,1860,2100,2480
  189. 1850  GOTO 1590
  190. 1860  REM CHANGE SLOT#
  191. 1870  REM (DEFAULT=1)
  192. 1880  HOME 
  193. 1890  VTAB 11: PRINT "THE PRINTER IS IN SLOT ";: FLASH : PRINT " "SLOT" ": NORMAL 
  194. 1900  POKE  -16300,0
  195. 1910  PRINT : PRINT "CHANGE SLOT NUMBER <Y/N>?"U$;: HTAB 26: INPUT "";X$:X$ =  LEFT$(X$,1)
  196. 1920  IF X$ < >"Y"  THEN  GOSUB 3030: RETURN 
  197. 1930  PRINT : PRINT "ENTER NEW SLOT NUMBER <1-6>:"U$;: HTAB 29: INPUT "";SLOT$:SLOT =  VAL(SLOT$): IF SLOT <1  OR SLOT >6  THEN 1930
  198. 1940  GOSUB 3030: RETURN 
  199. 1950  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>VERIFY/CREATE HCI.DATAFILE 
  200. 1960  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>------------- ------------<CTRL-J><CTRL-J> 
  201. 1970  POKE 216,0: ONERR  GOTO 2000
  202. 1980  PRINT D$"VERIFY"FI$
  203. 1990  POKE 216,0: GOTO 1550
  204. 2000  IF  PEEK(222) < >6  THEN  CALL  -211: STOP : REM NO ERROR OTHER THAN A "FILE NOTFOUND" ERROR SHOULD OCCUR!
  205. 2010  REM 
  206. 2020  REM FILE IS NOT ON THIS
  207. 2030  REM DISK, SO CREATE IT:
  208. 2040  REM 
  209. 2050  PRINT D$"OPEN"FI$",L130
  210. 2060  PRINT D$"WRITE"FI$",R0
  211. 2070  PRINT 0
  212. 2080  PRINT D$"CLOSE
  213. 2090  POKE 216,0: GOTO 1550
  214. 2100  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>INSTRUCTIONS 
  215. 2110  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>------------<CTRL-J><CTRL-J> 
  216. 2120  HOME :A$ = ".....INSTRUCTIONS.....": GOSUB 60: PRINT DASH$
  217. 2130  POKE 34,3
  218. 2140  PRINT "    THE PURPOSE OF THIS PROGRAM IS TO": PRINT 
  219. 2150  PRINT "ALLOW YOU TO KEEP A RECORD OF ALL OF": PRINT 
  220. 2160  PRINT "YOUR COMPUTER EQUIPMENT. THE DATA IS": PRINT 
  221. 2170  PRINT "STORED IN A TEXT FILE, AND YOU HAVE THE": PRINT 
  222. 2180  PRINT "OPTION OF EITHER PRINTING OUT THE ENTIRE
  223. 2190  PRINT "CONTENTS OF THE FILE ON YOUR PRINTER, OR
  224. 2200  PRINT "VIEWING THE DATA OF AN INDIVIDUAL ITEM": PRINT 
  225. 2210  PRINT "ON THE MONITOR.
  226. 2220  GOSUB 2420
  227. 2230  PRINT "    WHEN ENTERING THE DATA, DO NOT GO": PRINT 
  228. 2240  PRINT "BEYOND THE UNDERLINES. THEY ARE THERE TO
  229. 2250  PRINT "SHOW YOU THE MAXIMUM LENGTH OF EACH IN- "
  230. 2260  PRINT "PUT. UNDER 'DESCR' ENTER THE NAME AND": PRINT 
  231. 2270  PRINT "MANUFACTURER OF AN ITEM, UNDER 'DATE'": PRINT 
  232. 2280  PRINT "ENTER THE DATE OF PURCHASE IN THE FORM": PRINT 
  233. 2290  PRINT "MM/DD/YY, AND UNDER 'ID' ENTER ANY": PRINT 
  234. 2300  PRINT "IDENTIFICATION OR SPECIFICATIONS.
  235. 2330  GOSUB 2420
  236. 2340  PRINT "    AFTER YOU HAVE ENTERED DATA FOR ALL": PRINT 
  237. 2350  PRINT "OF YOUR ITEMS, MAKE A PRINTOUT AND STORE
  238. 2360  PRINT "IT IN A SAFE PLACE (E.G. YOUR OFFICE, A "
  239. 2370  PRINT "FIREPROOF SAFE, ETC). ALSO, WHY NOT TAKE
  240. 2380  PRINT "SOME PICTURES OF YOUR SYSTEM AND STORE": PRINT 
  241. 2390  PRINT "THEM AS WELL. YOUR APPLE WON'T MIND; IT": PRINT 
  242. 2400  PRINT "IS EXTREMELY PHOTOGENIC!
  243. 2410  GOSUB 2420: POKE 34,0: RETURN 
  244. 2420  VTAB 23: PRINT DASH$;
  245. 2430  PRINT " PRESS ";: FLASH : PRINT "RETURN";: NORMAL : PRINT " TO CONTINUE,  ";: INVERSE : PRINT "ESC";: NORMAL : PRINT " TO EXIT";
  246. 2440  GOSUB 3030
  247. 2450  POKE CB,0: WAIT KB,128: IF  PEEK(KB) < >RTN  AND  PEEK(KB) < >ESC  THEN 2450
  248. 2460  IF  PEEK(KB) = ESC  THEN  POKE CB,0: POKE 34,0: POP : RETURN 
  249. 2470  POKE CB,0: POKE 35,22: HOME : POKE 35,24: RETURN 
  250. 2480  TEXT : HOME : TEXT : END 
  251. 2490  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J>ERROR TRAP
  252. 2500  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>----- ----<CTRL-J><CTRL-J>
  253. 2510 ER =  PEEK(222): IF ER = 255  THEN  NORMAL : VTAB 1: PRINT : PRINT D$"CLOSE": GOSUB 3030: POKE 32,0: POKE 33,40: POKE 34,0: POKE 35,24: GOTO 1590
  254. 2520  IF ER < >9  AND ER < >5  AND ER < >10  AND ER < >8  AND ER < >4  THEN  CALL  -211: PRINT " NUMBER "ER" IN LINE " PEEK(218) + PEEK(219) *256: STOP 
  255. 2530  TEXT : HOME 
  256. 2540  PRINT D$"CLOSE
  257. 2550  IF ER = 5  THEN  PRINT D$"DELETE"FI$
  258. 2560  IF ER = 5  THEN  PRINT "LEAVE THE ORIGINAL DISK IN THE DRIVE.
  259. 2570  IF ER = 8  THEN  PRINT "INPUT/OUTPUT ERROR...MAKE SURE DRIVE    DOOR IS CLOSED PROPERLY.
  260. 2580  IF ER = 10  THEN  PRINT "HCI.DATAFILE MUST BE LEFT UNLOCKED.
  261. 2590  IF ER = 4  THEN  PRINT "WRITE-PROTECT TAB MUST BE REMOVED.
  262. 2600  IF ER = 9  THEN  PRINT "THIS DISK IS FULL!
  263. 2610  CALL BP: PRINT : STOP 
  264. 2620  REM 
  265. 2630  REM 
  266. 2640  REM      N O T E S
  267. 2650  REM      ---------
  268. 2660  REM 
  269. 2670  REM BY:          JIM GANZ
  270. 2680  REM        82 SPRING LANE
  271. 2690  REM    WEST HARTFORD, CT.
  272. 2700  REM                 06107
  273. 2710  REM 
  274. 2720  REM IF YOUR PRINTER RE-
  275. 2730  REM QUIRES A BINARY DRIVER
  276. 2740  REM CALL, THEN YOU SHOULD
  277. 2750  REM MAKE APPROPRIATE
  278. 2760  REM CHANGES IN LINES
  279. 2770  REM 1120-1300.
  280. 2780  REM 
  281. 2790  REM IF YOU DO NOT HAVE A
  282. 2800  REM PRINTER, YOU MAY WISH
  283. 2810  REM TO SPECIFY THAT THE
  284. 2820  REM "PRINTER" IS IN SLOT 0
  285. 2830  REM (LINE 1400) -THIS WILL
  286. 2840  REM MAKE TEXT OUTPUT GO TO
  287. 2850  REM THE SCREEN.
  288. 2860  REM 
  289. 2870  REM 
  290. 2880  REM THE FAST MEMORY
  291. 2890  REM MOVE ROUTINE WAS
  292. 2900  REM WRITTEN BY
  293. 2910  REM    ROGER WAGNER
  294. 2920  REM AND APPEARED IN THE
  295. 2930  REM JULY/AUGUST 1980
  296. 2940  REM ISSUE OF
  297. 2950  REM   "CALL -A.P.P.L.E."
  298. 2960  REM 
  299. 2970  REM FOR RANGE TO BE MOVED,
  300. 2980  REM BEG=STARTING ADDRESS
  301. 2990  REM  EN=ENDING ADDRESS
  302. 3000  REM DEST=STARTING ADDRESS
  303. 3010  REM     OF DESTINATION
  304. 3020  REM 
  305. 3030  REM FAST MEMORY MOVE:
  306. 3040  POKE 60,BEG - INT(BEG/256) *256: POKE 61, INT(BEG/256)
  307. 3050  POKE 62,EN - INT(EN/256) *256: POKE 63, INT(EN/256)
  308. 3060  POKE 66,DEST - INT(DEST/256) *256: POKE 67, INT(DEST/256)
  309. 3070  CALL 768: POKE  -16299,0
  310. 3080  RETURN 
  311. 3090  REM 
  312. 3100  REM A ROUTINE LOCATED FROM
  313. 3110  REM LINES 0-3 (WHICH ARE
  314. 3120  REM SUBSEQUENTLY DELETED)
  315. 3130  REM RELOCATES THIS PROGRAM
  316. 3140  REM ABOVE PAGE 2.
  317. 3150  REM ***DO NOT*** MAKE ANY
  318. 3160  REM ALTERATIONS TO LINES 0
  319. 3170  REM -3 OR THE PROGRAM WILL
  320. 3180  REM SURELY BOMB: YOU HAVE
  321. 3190  REM BEEN WARNED.  THE
  322. 3200  REM ROUTINE WAS WRITTEN BY
  323. 3210  REM WES HUNTRESS & APPEARS
  324. 3220  REM IN "CALL -A.P.P.L.E
  325. 3230  REM IN-DEPTH #1: ALL ABOUT
  326. 3240  REM APPLESOFT"(BY THE WAY,
  327. 3250  REM AN INVALUABLE BOOK!).
  328. 3260  REM IT IS FULLY EXPLAINED
  329. 3270  REM ON PAGE 31 OF SAME.
  330. 3280  REM <CTRL-J><CTRL-J>
  331. 65535  REM $$$$$$$$$$$$$$$$$$$$$
  332. 65535  REM $                   $
  333. 65535  REM $   HOME COMPUTER   $
  334. 65535  REM $     INVENTORY     $
  335. 65535  REM $                   $
  336. 65535  REM $   A PROGRAM TO    $
  337. 65535  REM $   KEEP TRACK OF   $
  338. 65535  REM $  WHAT YOU'VE GOT. $
  339. 65535  REM $                   $
  340. 65535  REM $ COMMERCIAL RIGHTS $
  341. 65535  REM $    --RESERVED--   $
  342. 65535  REM $                   $
  343. 65535  REM $    BY JIM GANZ    $
  344. 65535  REM $                   $
  345. 65535  REM $ REQ 48K APPLESOFT $
  346. 65535  REM $ 1 DISK DRIVE, AND $
  347. 65535  REM $      PRINTER.     $
  348. 65535  REM $                   $
  349. 65535  REM $ FEBRUARY 13, 1982 $
  350. 65535  REM $$$$$$$$$$$$$$$$$$$$$